

// components/publicRightHeader/index.js
Component({

    options: {
        multipleSlots: true // 在组件定义时的选项中启用多 slot 支持
    },
    /**
     * 组件的属性列表
     */
    properties: {
        title: {
            type: String,  // 头部标题
            value: ''
        },
        rightText: {
            type: String,  // 头部右侧文字
            value: ''
        },
        textColor: {
            type: String,  // 标题 色值
            value: ''
        },
        rightTextColor: {
            type: String,  // 右侧文字 色值
            value: ''
        },
        leftArrowColor: {
            type: String,  // 返回 色值
            value: ''
        },
        background: {
            type: String,  // 背景颜色 色值
            value: '#fff'
        },
        other: {
            type: Boolean,  // 背景颜色 色值
            value: false
        },
        arrowShow: {
            type: Boolean, // 左箭头
            value: true
        }
        
    },

    /**
     * 组件的初始数据
     */
    data: {
        headerWidth: '',
        headerTop: '',
        headerHeight: ''
    },

    lifetimes: {
        attached: function () {
            // 在组件实例进入页面节点树时执行
            let capsule = wx.getMenuButtonBoundingClientRect();
            let systemInfo = wx.getSystemInfoSync()
            this.setData({
                headerWidth: `calc(750rpx - ${capsule.width}px - 24rpx)`,
                headerTop: `${capsule.top}px`,
                headerHeight: `${capsule.height}px`,
            })
        },
        detached: function () {
            // 在组件实例被从页面节点树移除时执行
        },
    },

    /**
     * 组件的方法列表
     */
    methods: {
        goBack() {
            if (this.properties.other) {
                this.triggerEvent('goBack')
            } else {
                wx.navigateBack({
                    delta: 1
                })
            }
        },

        // 右侧点击回调
        rightClick() {
            this.triggerEvent('rightClick')
        }
    }
})
